package reflect;

import reflect.annotations.AutoRunMethod;

import java.lang.reflect.Method;

/**
 * 使用反射机制获取注解参数值
 */
public class ReflectDemo11 {
    public static void main(String[] args) throws Exception {
        //获取Person类上sayHi方法上的注释@AutoRunMethod注解的参数值

        //1.获取类对象
        Class cls = Class.forName("reflect.Person");

        //2.获取sayHi方法的方法对象
        Method method = cls.getDeclaredMethod("sayHi");

        //3.判断该方法是否被注解标注
        if(method.isAnnotationPresent(AutoRunMethod.class)){

            //4.获取该注解
            AutoRunMethod arm= method.getAnnotation(AutoRunMethod.class);

            //5.通过注解对象获取value参数的值
            int num = arm.value();  //若方法内为time，则int num = arm.time();
            System.out.println(num);
        }
    }
}
